package abd.pr1.Controllers;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;

import org.apache.commons.lang3.StringUtils;

import abd.pr1.Interface.NuevaSerieWindow;
import abd.pr1.Interface.NuevoPersonajeWindow;
import abd.pr1.Mappers.ClaveSeguidor;
import abd.pr1.Mappers.GenerosMapper;
import abd.pr1.Mappers.PersonajesMapper;
import abd.pr1.Mappers.SeguidoresMapper;
import abd.pr1.Mappers.SeriesGenerosMapper;
import abd.pr1.Mappers.SeriesMapper;
import abd.pr1.Models.Genero;
import abd.pr1.Models.Personaje;
import abd.pr1.Models.Serie;
import abd.pr1.Models.SerieGenero;

public class EditarPersonajeWindowController  implements ActionListener{

	private NuevoPersonajeWindow nuevoPersonajeWindow;
	private DataSource ds;
	private Personaje personaje;
	
	public EditarPersonajeWindowController(NuevoPersonajeWindow nuevoPersonajeWindow,DataSource ds,Personaje personaje){
		this.nuevoPersonajeWindow=nuevoPersonajeWindow;
		this.ds=ds;
		this.personaje=personaje;
		this.nuevoPersonajeWindow.addListener(this);
		this.refreshPersonaje();
	}

	public void refreshPersonaje(){
		nuevoPersonajeWindow.setNombreTexto(personaje.getNombre());
		nuevoPersonajeWindow.setDescripcionTexto(personaje.getDescripcion());
	}
	
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		if(e.getActionCommand().equals("guardar_personaje")){
			this.personaje.setNombre(this.nuevoPersonajeWindow.getNombreTexto());
			this.personaje.setDescripcion(this.nuevoPersonajeWindow.getDescripcionTexto());
			
			new PersonajesMapper(ds).update(this.personaje);
			nuevoPersonajeWindow.dispose();	
			
		} else if(e.getActionCommand().equals("cerrar_personaje")){
			nuevoPersonajeWindow.dispose();
		}
		
	}
}
